package com.kitwee.serialport.instruction;

import android.os.Parcel;

import com.kitwee.serialport.decoder.InstructionDecoder;
import com.kitwee.serialport.decoder.panasonic.FPXInstructionToIntDecoder;
import com.kitwee.serialport.instruction.Instruction;
import com.kitwee.serialport.util.Bytes;

public class PanasonicInstruction extends Instruction {

    public PanasonicInstruction(String key, byte[] value) {
        this(key, Bytes.bytes2HexString(value));
    }

    public PanasonicInstruction(String key, String value) {
        super(key, value, FPXInstructionToIntDecoder.class);
    }

    public PanasonicInstruction(String key, byte[] value, Class<? extends InstructionDecoder> decoder) {
        super(key, Bytes.bytes2HexString(value), decoder);
    }

    protected PanasonicInstruction(Parcel in) {
        super(in);
    }

    public static PanasonicInstruction DT302(){
        return new PanasonicInstruction("DT302",DT302);
    }

    public static byte[] DT302 = new byte[]{
            0x25, 0x30, 0x31, 0x23, 0x52, 0x44, 0x44, 0x30, 0x30, 0x33, 0x30, 0x32, 0x30, 0x30, 0x33, 0x30, 0x33, 0x2A, 0x2A, 0x0D
    }; // 实际产量

    public static byte[] DT304 = new byte[]{
            0x25, 0x30, 0x31, 0x23, 0x52, 0x44, 0x44, 0x30, 0X30, 0x33, 0x30, 0x34, 0x30, 0x30, 0x33, 0x30, 0x35, 0x2A, 0x2A, 0x0D
    }; // 总产量

    public static byte[] DT306 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X30, 0X33, 0X30, 0X36, 0X30, 0X30, 0X33, 0X30, 0X37, 0X2A, 0X2A, 0x0D
    }; // 计划产量

    public static byte[] DT702 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X30, 0X37, 0X30, 0X32, 0X30, 0X30, 0X37, 0X30, 0X35, 0X2A, 0X2A, 0x0D
    }; // 初始速度

    public static byte[] DT704 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X30, 0X37, 0X30, 0X34, 0X30, 0X30, 0X37, 0X30, 0X35, 0X2A, 0X2A, 0x0D
    }; // 最高速度

    public static byte[] DT1008 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X31, 0X30, 0X30, 0X38, 0X30, 0X31, 0X30, 0X30, 0X39, 0X2A, 0X2A, 0x0D
    }; // 升降首位置

    public static byte[] DT1000 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X31, 0X30, 0X30, 0X30, 0X30, 0X31, 0X30, 0X30, 0X31, 0X2A, 0X2A, 0x0D
    }; // 拉料首位置

    //    计划 产量
    public static byte[] DT32759 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X35, 0X39, 0X33, 0X32, 0X37, 0X36, 0X30, 0X2A, 0X2A, 0X0D
    };
    //总产量

    public static byte[] DT32763 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X36, 0X33, 0X33, 0X32, 0X37, 0X36, 0X34, 0X2A, 0X2A, 0X0D
    };
    //    实际产量
    public static byte[] DT32761 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X36, 0X31, 0X33, 0X32, 0X37, 0X36, 0X32, 0X2A, 0X2A, 0X0D
    };
    //    报警数据
    public static byte[] DT140 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X30, 0X31, 0X34, 0X30, 0X30, 0X30, 0X31, 0X34, 0X31, 0X2A, 0X2A, 0X0D
    };
    //        报警2累计
    public static byte[] DT142 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X30, 0X30, 0X31, 0X34, 0X32, 0X30, 0X30, 0X31, 0X34, 0X33, 0X2A, 0X2A, 0X0D
    };
    //    屏生产速度
    public static byte[] DT32450 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X35, 0X30, 0X33, 0X32, 0X34, 0X35, 0X31, 0X2A, 0X2A, 0X0D
    };
    //    DT32472	贴合长度
    public static byte[] DT32472 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X37, 0X32, 0X33, 0X32, 0X34, 0X37, 0X33, 0X2A, 0X2A, 0X0D
    };
    //DT32474	贴合速度
    public static byte[] DT32474 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X37, 0X34, 0X33, 0X32, 0X34, 0X37, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32476	跳步长度
    public static byte[] DT32476 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X37, 0X36, 0X33, 0X32, 0X34, 0X37, 0X37, 0X2A, 0X2A, 0X0D
    };
    //DT32478	跳步个数
    public static byte[] DT32478 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X37, 0X38, 0X33, 0X32, 0X34, 0X37, 0X39, 0X2A, 0X2A, 0X0D

    };
    //DT32482	屏追标速度
    public static byte[] DT32482 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X38, 0X32, 0X33, 0X32, 0X34, 0X38, 0X33, 0X2A, 0X2A, 0X0D
    };
    //DT32495	冲压次数
    public static byte[] DT32495 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X34, 0X39, 0X35, 0X33, 0X32, 0X34, 0X39, 0X36, 0X2A, 0X2A, 0X0D
    };
    //DT32500	追色长度
    public static byte[] DT32500 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X30, 0X30, 0X33, 0X32, 0X35, 0X30, 0X31, 0X2A, 0X2A, 0X0D
    };
    //DT32502	追色速度
    public static byte[] DT32502 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X30, 0X32, 0X33, 0X32, 0X35, 0X30, 0X33, 0X2A, 0X2A, 0X0D
    };


    //DT32504	增加长度
    public static byte[] DT32504 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X30, 0X34, 0X33, 0X32, 0X35, 0X30, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32506	拉料边距
    public static byte[] DT32506 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X30, 0X36, 0X33, 0X32, 0X35, 0X30, 0X37, 0X2A, 0X2A, 0X0D
    };
    //    DT32514 设定高度
    public static byte[] DT32514 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X31, 0X34, 0X33, 0X32, 0X35, 0X31, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32522 最低速度
    public static byte[] DT32522 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X32, 0X32, 0X33, 0X32, 0X35, 0X32, 0X33, 0X2A, 0X2A, 0X0D
    };
    //DT32524 最高速度
    public static byte[] DT32524 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X32, 0X34, 0X33, 0X32, 0X35, 0X32, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32528 点动速度
    public static byte[] DT32528 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X32, 0X38, 0X33, 0X32, 0X35, 0X32, 0X39, 0X2A, 0X2A, 0X0D
    };
    //DT32529 单动速度
    public static byte[] DT32529 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X32, 0X39, 0X33, 0X32, 0X35, 0X33, 0X30, 0X2A, 0X2A, 0X0D
    };
    //DT32530 连动速度
    public static byte[] DT32530 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X33, 0X30, 0X33, 0X32, 0X35, 0X33, 0X31, 0X2A, 0X2A, 0X0D
    };
    //    DT32532 切片个数
    public static byte[] DT32532 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X33, 0X32, 0X33, 0X32, 0X35, 0X33, 0X33, 0X2A, 0X2A, 0X0D
    };
    //DT32534 切片计划产量
    public static byte[] DT32534 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X33, 0X34, 0X33, 0X32, 0X35, 0X33, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32540 设定高度
    public static byte[] DT32540 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X34, 0X30, 0X33, 0X32, 0X35, 0X34, 0X31, 0X2A, 0X2A, 0X0D
    };
    //DT32542 显示高度
    public static byte[] DT32542 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X35, 0X32, 0X34, 0X33, 0X32, 0X35, 0X32, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32700 跳步计数器
    public static byte[] DT32700 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X30, 0X30, 0X33, 0X32, 0X37, 0X30, 0X31, 0X2A, 0X2A, 0X0D
    };
    //DT32710 屏拉料长度
    public static byte[] DT32710 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X31, 0X30, 0X33, 0X32, 0X37, 0X31, 0X31, 0X2A, 0X2A, 0X0D
    };
    //DT32713 限速分钟计数
    public static byte[] DT32713 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X31, 0X33, 0X33, 0X32, 0X37, 0X31, 0X34, 0X2A, 0X2A, 0X0D
    };
    //DT32714 屏跳步速度
    public static byte[] DT32714 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X31, 0X34, 0X33, 0X32, 0X37, 0X31, 0X35, 0X2A, 0X2A, 0X0D
    };
    //DT32716 屏跳步长度
    public static byte[] DT32716 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X31, 0X36, 0X33, 0X32, 0X37, 0X31, 0X37, 0X2A, 0X2A, 0X0D
    };
    //DT32717 拉料速度百分比
    public static byte[] DT32717 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X31, 0X37, 0X33, 0X32, 0X37, 0X31, 0X38, 0X2A, 0X2A, 0X0D
    };
    //DT32729 供油时间
    public static byte[] DT32729 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X32, 0X39, 0X33, 0X32, 0X37, 0X33, 0X30, 0X2A, 0X2A, 0X0D
    };
    //DT32730 供油间隙时间
    public static byte[] DT32730 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X33, 0X30, 0X33, 0X32, 0X37, 0X33, 0X31, 0X2A, 0X2A, 0X0D
    };
    //    DT32743 限速小时计数
    public static byte[] DT32743 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X34, 0X33, 0X33, 0X32, 0X37, 0X34, 0X34, 0X2A, 0X2A, 0X0D
    };
    //DT32745 总运行时间计时
    public static byte[] DT32745 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X34, 0X35, 0X33, 0X32, 0X37, 0X34, 0X36, 0X2A, 0X2A, 0X0D
    };
    //DT32747 切片单批计数
    public static byte[] DT32747 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X34, 0X37, 0X33, 0X32, 0X37, 0X34, 0X38, 0X2A, 0X2A, 0X0D
    };
    //DT32749 切片总数
    public static byte[] DT32749 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X44, 0X44, 0X33, 0X32, 0X37, 0X34, 0X39, 0X33, 0X32, 0X37, 0X35, 0X30, 0X2A, 0X2A, 0X0D
    };
    //R1051 致命错误
    public static byte[] R1051 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X30, 0X35, 0X31, 0X2a, 0X2a, 0X0d
    };
    //R1053 超速报警
    public static byte[] R1053 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X30, 0X35, 0X33, 0X2a, 0X2a, 0X0d
    };
    //R1054 气路报警
    public static byte[] R1054 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X30, 0X35, 0X34, 0X2a, 0X2a, 0X0d
    };
    //R122 切刀报警
    public static byte[] R122 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X32, 0X32, 0X2a, 0X2a, 0X0d
    };
    //R123 气压异常
    public static byte[] R123 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X32, 0X33, 0X2a, 0X2a, 0X0d
    };
    //R13 主机机械故障报警
    public static byte[] R13 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X33, 0X2a, 0X2a, 0X0d
    };
    //R145 主机运行出故障
    public static byte[] R145 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X34, 0X35, 0X2a, 0X2a, 0X0d
    };
    //R146 拉料电机出故障
    public static byte[] R146 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X34, 0X36, 0X2a, 0X2a, 0X0d
    };
    //R148 急停按下提示
    public static byte[] R148 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X34, 0X38, 0X2a, 0X2a, 0X0d
    };
    //R151 切刀报警提示
    public static byte[] R151 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X35, 0X31, 0X2a, 0X2a, 0X0d
    };
    //R152 气压异常报警
    public static byte[] R152 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X35, 0X32, 0X2a, 0X2a, 0X0d
    };
    //    R153 调压卡死报警
    public static byte[] R153 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X35, 0X33, 0X2a, 0X2a, 0X0d
    };
    //    R154 禁止启动报警
    public static byte[] R154 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X35, 0X34, 0X2a, 0X2a, 0X0d
    };
    //    R155 主轴伺服报警
    public static byte[] R155 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X31, 0X35, 0X35, 0X2a, 0X2a, 0X0d
    };
    //    R5B 追色失败报警
    public static byte[] R5B = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X35, 0X42, 0X2a, 0X2a, 0X0d
    };
    //R62 追标故障
    public static byte[] R62 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X36, 0X32, 0X2a, 0X2a, 0X0d
    };
    //    R64 报警
    public static byte[] R64 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X36, 0X34, 0X2a, 0X2a, 0X0d
    };
    //    R66 石墨追色报警
    public static byte[] R66 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X36, 0X36, 0X2a, 0X2a, 0X0d
    };
    //    R68 石墨追标失败
    public static byte[] R68 = new byte[]{
            0X25, 0X30, 0X31, 0X23, 0X52, 0X43, 0X53, 0X52, 0X36, 0X38, 0X2a, 0X2a, 0X0d

    };

    //每小时产量
    public static byte[]DT214=new byte[]{
            0X25 ,0X30 ,0X31 ,0X23 ,0X52 ,0X44 ,0X44 ,0X30 ,0X30 ,0X32 ,0X31 ,0X34 ,0X30 ,0X30 ,0X32 ,0X31,0X35 ,0X2A ,0X2A ,0X0D
    };

//    生产速度pcs/h DT32712
    public static byte[]DT32712=new byte[]{
            0X25 ,0X30 ,0X31 ,0X23 ,0X52 ,0X44 ,0X44 ,0X33 ,0X32 ,0X37 ,0X31 ,0X32 ,0X33 ,0X32 ,0X37 ,0X31,0X33 ,0X2A ,0X2A ,0X0D
    };

    //实际产量pcs   DT32720
    public static byte[]DT32720=new byte[]{
            0X25 ,0X30 ,0X31 ,0X23 ,0X52 ,0X44 ,0X44 ,0X33 ,0X32 ,0X37 ,0X32 ,0X30 ,0X33 ,0X32 ,0X37 ,0X32,0X31 ,0X2A ,0X2A ,0X0D
    };

    //暂停指令
    public static byte[]R00=new byte[]{
            0X25 ,0X30 ,0X31 ,0X23 ,0X57 ,0X43 ,0X53 ,0X52 ,0X30, 0X30 ,0X34,0X30 ,0X30 ,0X2A ,0X2A ,0X0D
    };

}
